package com.boge.util.myutils;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Utils {
	
	/**
	 * MD5加码 生成32位md5码 
	 * 生成随机6位数字
	 * 获取字符串中的连续6位数字
	 * @param plainText 明码文本
	 * @return
	 */
	public static String string2MD5(String plainText) {
		try {
			MessageDigest md = MessageDigest.getInstance("MD5");
			md.update(plainText.getBytes());
			byte b[] = md.digest();
			
			int i;
			StringBuffer buff = new StringBuffer("");
			for (int offset = 0; offset < b.length; offset++) {  
                i = b[offset];  
                if (i < 0)  
                    i += 256;  
                if (i < 16)  
                	buff.append("0");  
                buff.append(Integer.toHexString(i));  
            }  
            //32位加密
            return buff.toString();  
            // 16位的加密
//            return buff.toString().substring(8, 24);
			
		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	/**
	 * 生成随机6位数字
	 * @return
	 */
	public static String getRandNum(){
		int randNum = (int)((Math.random()*9+1)*100000);
		return String.valueOf(randNum);
	}
	
	/**
	 * 获取字符串中的连续6位数字
	 * @return
	 */
	public static String getIntInString(String str) {
		Pattern p = Pattern.compile("\\d{6}");
		Matcher m = p.matcher(str);
		String result = m.find() ? m.group():null;
		return result;
	}
	
	public static String formatDate(long time) {
		SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
		return df.format(time);
	}
	
	public static boolean notNullOrEmpty(String str) {
		if (str == null || str.isEmpty()) {
			return false;
		}
		return true;
	}

}
